<script>
import { getToken } from '@/utils/auth'

export default {
  globalData: {},
  onLaunch: function () {
    console.log('App Launch')
    this.updateUserInfo()
    uni.getProvider({ service: 'oauth' }).then(res => {
      if (res.errMsg === 'getProvider:ok') {
        this.globalData.oauth_povider = res.provider[0]
      }
    })
  },
  methods: {
    updateUserInfo: function () {
      const hasName = !!this.$store.getters.name
      if (!hasName) {
        const token = getToken()
        !!token && this.$store.dispatch('permission/getUserInfo')
      }
    }
  },
  onShow: function () {
    console.log('App Show')
    const updateManager = uni.getUpdateManager()
    updateManager.onCheckForUpdate(result => {
      if (result.hasUpdate) {
        updateManager.onUpdateReady(function () {
          uni.showModal({
            title: '更新提示',
            content: '新版本已经准备好，是否重启应用？',
            confirmText: '确认',
            cancelText: '取消',
            success(res) {
              if (res.confirm) {
                updateManager.applyUpdate() // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
              } else {
                this.updateUserInfo()
              }
            }
          })
        })
        updateManager.onUpdateFailed(function (res) {
          // 新的版本下载失败
          uni.showToast({
            icon: 'error',
            message: res.message || res
          })
          this.updateUserInfo()
        })
      } else {
        this.updateUserInfo()
      }
    })
  },
  onHide: function () {
    console.log('App Hide')
  }
}
</script>

<style lang="scss">
@import 'uview-ui/index.scss';
/* 每个页面公共css */
page {
  background-color: #f3f3f3;
}
</style>
